package com.zking.config;

import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import java.io.FileWriter;

@Configuration @Getter @Setter
@ConfigurationProperties(prefix = "alipay")
public class AlipayConfig {
    
    /**
     * 项目配置：必须为spring项目，在web.xml中配置port端口
     * <p>
     * 测试账号：
     * 买家账号gkylrk9430@sandbox.com
     * 登录密码111111
     * 支付密码111111
     * 参考地址：
     * https://open.alipay.com/platform/appDaily.htm?tab=info
     * https://opendocs.alipay.com/open/270/106291/
     * 注意：测试的时候换个浏览器，要么退出账号
     */
    // 应用ID，您的APPID，可以使用自己的沙箱测试ID
    private String appId;
    // 商户私钥，您的PKCS8格式RSA2私钥，使用自己的
    private String merchantPrivateKey;
    // 支付宝公钥，对应APPID下的支付宝公钥，使用自己的
    private String alipayPublicKey;
    // 签名方式
    private String signType;
    // 字符编码格式
    private String charset;
    // 支付宝网关：必须为alipaydev
    private String gatewayUrl;
    // 这是日志输出目录：这个自定义
    private String logPath;
    
    private String returnUrl;
    private String notifyUrl;
    
    /**
     * 写日志，方便测试（看网站需求，也可以改成把记录存入数据库）
     *
     * @param sWord 要写入日志里的文本内容
     */
    public void logResult(String sWord) {
        try (FileWriter writer = new FileWriter(logPath + "alipay_log_" + System.currentTimeMillis() + ".txt")) {
            writer.write(sWord);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
